package com.lywz.biz.dao.hotel;

import java.util.Collection;

import com.lywz.biz.common.entity.hotel.Hotel;
import com.lywz.biz.dao.hotel.impl.HotelConditionGenerater;

/**
 * 住宿Dao
 * 
 * @author Lionel pang
 * @date 2010-5-7
 * 
 */
public interface HotelDao {

    /**
     * 按照景区Id查询
     * 
     * @param scenicId 景区Id
     * @return
     */
    public Collection<Hotel> queryHotelsByScenicId(int scenicId, int first, int max)
            throws Exception;

    /**
     * 按照城市Id查询
     * 
     * @param cityId
     * @return
     */
    public Collection<Hotel> queryHotelsByCityId(int cityId, int first, int max) throws Exception;

    /**
     * 按照组合查询
     * 
     * @param cityId 城市Id
     * @param countryId 区县Id
     * @param name 名称
     * @param type 类型
     * @param bprize 价格区间起始价格
     * @param ePrize 价格区间终止价格
     * @return
     */
    public Collection<Hotel> queryHotelsByCompose(int cityId, int countryId, String name, int type,
            int bprize, int ePrize, int first, int max) throws Exception;
    //    /**
    //     * 按照HotelId查询
    //     * 
    //     * @param hotelId
    //     * @return
    //     */
    //    public Collection<Hotel> queryHotelById(int hotelId, int first, int max);
    //    /**
    //     * 按照区县Id查询
    //     * @param countryId
    //     * @return
    //     */
    //    public Collection<Hotel> queryHotelBycountryId(int countryId);
    //    
    //    /**
    //     * 按照名称查询
    //     * @param name
    //     * @return
    //     */
    //    public Collection<Hotel> queryHotelByName(String name);
    //    
    //    /**
    //     * 按照类型查询
    //     * @param type
    //     * @return
    //     */
    //    public Collection<Hotel> queryHotelByType(int type);
    //    
    //    /**
    //     * 按照价格区间查询
    //     * @param bprize 价格区间起始价格
    //     * @param ePrize 价格区间终止价格
    //     * @return
    //     */
    //    public Collection<Hotel> queryHotelByPrizeBand(int bprize,int ePrize);

	public Collection<Hotel> queryHotelByCompose(HotelConditionGenerater generater, int startRecord,
			int recordSize) throws Exception;

}
